<template>
  <div class="box">
    <h2>子组件 add</h2>
    从vuex中获取的值:<label>{{ count }}</label>
    <br />
    <button @click="add">值+1</button>
      <button @click="asyncAdd">延时1秒值+1</button>
      <button @click="asyncChangeCount(1000)">延时1秒值+1000</button>
  </div>
</template>

<script>

import {mapState,mapActions} from 'vuex'
 
export default {
  name: 'AddItem',
  computed:{
    // count () {
    // return this.$store.state.count
    // }
    // 利用展开运算符 ...mapState(['count'])将导出的状态映射给计算属性
    // 简写的计算属性，简称辅助函数 
    //辅助函数：
    // 1.按需导入辅助函数 
    // 2.使用辅助函数在computed处展开
    ...mapState(['count'])
  },
  methods:{
    ...mapActions(['asyncChangeCount']),
    add(){
      this.$store.commit('increm')
    },
    asyncAdd(){
      // 调用actions 
      this.$store.dispatch('asyncIncre')
    }
  }
}
</script>

<style lang="less" scoped>
.box {
  border: 3px solid #ccc;
  width: 400px;
  padding: 10px;
  margin: 20px;
}
h2 {
  margin-top: 10px;
}
</style>